package Song.Han.Demo01;

import java.lang.annotation.*;

/*
    元注解：
        用于注解其他注解
    例如：
        @Target:用于描述注解的适用范围
        @Retention:用于描述注解的生命周期：SOURCE<CLASS<RUNTIME
        @Document:说明注解被包含在javadoc中
        @Inherited：说明子类可以继承父类中的该注解
*/
public class Demo01 {


    @MyAnnotation(name = "111",schools = {"清华","北大"})
    public void test01(){

    }
}

//自定义一个注解
@Inherited
@Documented
@Retention(RetentionPolicy.RUNTIME)//自定义一般都作用于RUNTIME
@Target(value = {ElementType.METHOD, ElementType.TYPE})
@interface MyAnnotation{
    //注解的参数：参数类型 参数名();
    String name() default "";//默认""
    int age() default 0;
    int id() default -1;//默认-1，代表不存在
    String[] schools();
}
